/* 加载动画 */
.loading-progress {
	width: 75vw;
	height: 75vw;
	max-width: 250px;
	max-height: 250px;
	position: relative;
	overflow: hidden;
	margin: auto;
	margin-top: 100px;
	border-radius: 50%;
	display: flex;
	justify-content: center;
	flex-direction: column;
	box-shadow: 0px 0px 10px 2px rgba(50,50,50,0.5);
	background-color: white;
	background-image: conic-gradient(rgba(117,218,255,1) var(--loading-pg), rgba(255,255,255,1) 0%);
	transition: 0.25s all;
}
.loading-progress::before {
	position: absolute;
	left: 0;
	right: 0;
	top: 0;
	bottom: 0;
	margin: auto;
	content: '';
	display: block;
	width: 80%;
	height: 80%;
	background-color: rgba(240,240,240,1);
	border-radius: 50%;
	box-shadow: inset 0px 0px 5px 2px rgba(106,82,190,0.5);
}
.loading-progress::after {
	content: '加载中...';
	position: relative;
	text-align: center;
	color: rgba(80,80,80,1);
	font-weight: bold;
	font-size: 18px;
	margin: 5px auto;
	animation: 2s infinite loading-text;
}
@keyframes loading-text {
	0% {
		content: '加载中.';
	} 25% {
		content: '加载中.';
	} 50% {
		content: '加载中..';
	} 75% {
		content: '加载中...';
	} 100% {
		content: '加载中...';
	}
}

/* 遮罩层 */
.mask {
	position: fixed;
	width: 100vw;
	height: 100vh;
	background-color: rgba(0,0,0,0.5);
	margin: auto;
	top: 0;
	left: 0;
	bottom: 0;
	right: 0;
	z-index: 1000;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
}
/* 对话框 */
.dialog {
	background-color: white;
	position: relative;
	width: 88%;
	max-width: 480px;
	min-height: 250px;
	max-height: 70vh;
	/* height: -webkit-fit-content;
	height: -moz-fit-content;
	height: -o-fit-content;
	height: fit-content; */
	border-radius: 15px;
	overflow: hidden;
	padding: 25px 3% 15px 3%;
	transition: 0.5s;
	animation: 0.5s ease card-show;
}
.dialog::before {
	content: attr(data-title);
	display: block;
	height: 28px;
	border-bottom: rgba(128,128,128,0.2) solid 1px;
	color: grey;
	text-align: center;
	font-size: 24px;
	font-weight: bold;
	line-height: 28px;
	padding-bottom: 6px;
	text-overflow: ellipsis;
	white-space: nowrap;
	overflow: hidden;
}
.dialog-content {
	max-height: calc(70vh - 150px);
	overflow-x: hidden;
	overflow-y: auto;
	margin: 10px auto 60px auto;
	padding: 10px 2% 10px 2%;
}
.dialog-content p {
	text-indent: 2em;
	font-size: 16px;
	color: rgba(80,80,80,1);
}
.dialog-operation {
	display: flex;
	justify-content: space-evenly;
	padding-bottom: 20px;
	position: absolute;
	margin: auto;
	left: 0;
	right: 0;
	bottom: 0;
}
.dialog-operation button {
	--font-size: 18px;
	position: relative;
	border: none;
	border-radius: calc((var(--font-size) + 20px) / 2);
	padding: 10px 25px;
	font-size: 16px;
	text-align: center;
	display: flex;
	justify-content: center;
	align-items: center;
	min-width: 100px;
	min-height: calc(var(--font-size) + 20px);
	overflow: hidden;
	background-color: rgba(160,197,232,1);
	font-weight: bold;
	color: rgba(90,90,90,1);
	box-shadow: inset 2px 2px 2px 0px rgb(255 255 255 / 50%),
		7px 7px 20px 0px rgb(0 0 0 / 10%),
		4px 4px 5px 0px rgb(0 0 0 / 10%);
	transition: all 0.3s ease;
}
.dialog-operation button::before {
	content: '';
	position: absolute;
	width: 0;
	height: 100%;
	border-radius: 20px;
	top: 0;
	left: 0;
	direction: rtl;
	box-shadow: -7px -7px 20px 0px #fff9,
		-4px -4px 5px 0px #fff9,
		7px 7px 20px 0px #0002,
		4px 4px 5px 0px #0001;
	transition: all 0.5s ease;
}
.dialog-operation button::after {
	content: attr(data-text);
	position: relative;
	line-height: 20px;
	font-size: var(--font-size);
	color: rgba(20,80,105,1);
}
.dialog-operation button:active {
	transform: scale(0.8);
}
.dialog-operation button:hover::before {
	left: auto;
	right: 0;
	width: 100%;
}

/* 弹窗 */
.toast {
	position: fixed;
	z-index: 2000;
	margin: auto;
	max-width: 420px;
	min-height: 20px;
	background-color: rgba(0,0,0,0.6);
	border-radius: 10px;
	padding: 10px 20px;
	bottom: 10%;
	left: 0;
	right: 0;
	color: white;
	font-size: 16px;
	line-height: 20px;
	-webkit-user-select: none;
	-moz-user-select: none;
	-o-user-select: none;
	user-select: none;
}
@media screen and (max-width: 530px) {
	.toast {
		max-width: 70%;
	}
}